今天给大家带来的是相关数据结构的查找算法,相信读过前几篇相关数据结构构建的读者应该能体会到两种常用数据结构的相关基础知识。
查找算法的基础就需要数据结构的支撑,很显然,我们需要掌握的是顺序表和动态链表的查找方法,下面我会一一解答。
这一篇我们就细谈第一种.顺序表的查找算法,很简单,就是对数组下标的运算,由此衍生出来的查找算法有三种:
分别是 简单顺序查找,有序表的二分查找以及索引顺序表的查找。
1.简单顺序查找:
要求:对于数据表的特性没有要求,可以有序也可以无序。
方式:查找就是一种遍历的过程,从表的一端开始,逐个的比较元素,若成功,便返回该记录(元素的下标),否者返回0来表示失败。
算法很简单:设定一个监视哨a[0]来指定放置要查找的元素,若能找到,就返回该记录,不然就返回0这个下标来表示失败。
下面是代码实现:
#include<iostream>
using namespace std;
typedef int elementtype;
typedef int keytype;
int main(){
cout<<"请输入数组长度: ";
int length;
cin>>length;
int *a1=new int[length];
cout<<"请依次输入顺序表的各个值:"<<endl;
for(int i=0;i<length;i++){
cin>>a1[i];
}
int x;//定义要查的元素值
cout<<"请输入要查找的元素值: ";